﻿package mortal.game.utils
{
    import Message.DB.Tables.*;
    import Message.Game.*;
    import Message.Public.*;
    import __AS3__.vec.*;
    import flash.utils.*;
    import mortal.game.cache.*;
    import mortal.game.resource.tableConfig.*;

    public class InvestUtil extends Object
    {

        public function InvestUtil()
        {
            return;
        }// end function

        public static function get isMonthInvestCanGet() : Boolean
        {
            var _loc_2:SInvestInfo = null;
            var _loc_3:Boolean = false;
            var _loc_4:TInvestBase = null;
            var _loc_1:* = MonthInvestmentConfig.instance.investDic;
            for each (_loc_4 in _loc_1)
            {
                
                if (isHasInvestmentCanGetByType(_loc_4.type))
                {
                    _loc_3 = true;
                    break;
                }
            }
            return _loc_3;
        }// end function

        public static function isHasInvestmented(param1:int) : Boolean
        {
            var _loc_2:* = Cache.instance.investment.investmentDic;
            return _loc_2[param1] != null;
        }// end function

        public static function isHasInvestmentCanGetByType(param1:int) : Boolean
        {
            var _loc_2:Boolean = false;
            var _loc_4:SInvestInfo = null;
            var _loc_3:* = Cache.instance.investment.investmentDic[param1];
            if (_loc_3)
            {
                for each (_loc_4 in _loc_3)
                {
                    
                    if (!_loc_4.isGetToday)
                    {
                        _loc_2 = true;
                        break;
                    }
                }
            }
            return _loc_2;
        }// end function

        public static function getFirstCanGetInvestByType(param1:int) : int
        {
            var _loc_2:int = 0;
            var _loc_4:SInvestInfo = null;
            var _loc_5:int = 0;
            var _loc_3:* = Cache.instance.investment.investmentDic[param1];
            if (_loc_3)
            {
                while (_loc_5 < _loc_3.length)
                {
                    
                    _loc_4 = _loc_3[_loc_5];
                    if (!_loc_4.isGetToday)
                    {
                        _loc_2 = _loc_5 + 1;
                        break;
                    }
                    _loc_5++;
                }
            }
            return _loc_2;
        }// end function

        public static function isHasGetAllInvest(param1:int) : Boolean
        {
            var _loc_2:Boolean = false;
            var _loc_4:int = 0;
            var _loc_5:Vector.<TInvest> = null;
            var _loc_6:SInvestInfo = null;
            var _loc_7:int = 0;
            var _loc_3:* = Cache.instance.investment.investmentDic[param1];
            if (_loc_3)
            {
                if (param1 == EInvestType._EInvestTypeResigst)
                {
                    _loc_4 = 7;
                }
                else
                {
                    _loc_5 = MonthInvestmentConfig.instance.getInvestListByType(param1);
                    _loc_4 = _loc_5.length;
                }
                if (_loc_3.length < _loc_4)
                {
                    _loc_2 = false;
                }
                else
                {
                    _loc_2 = true;
                    while (_loc_7 < _loc_3.length)
                    {
                        
                        _loc_6 = _loc_3[_loc_7];
                        if (!_loc_6.isGetToday)
                        {
                            _loc_2 = false;
                            break;
                        }
                        _loc_7++;
                    }
                }
            }
            return _loc_2;
        }// end function

    }
}
